package com.itjin.model.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.itjin.handler.ListStringTypeHandler;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 校园活动实体类
 */
@Data
@TableName(value = "campus_activity", autoResultMap = true)
public class CampusActivity {
    
    /**
     * 活动ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    
    /**
     * 活动名称
     */
    private String activityName;
    
    /**
     * 活动内容描述
     */
    private String activityContent;
    
    /**
     * 活动图片URL
     */
    private String activityImage;
    
    /**
     * 活动时间
     */
    private LocalDateTime activityTime;
    
    /**
     * 活动地点
     */
    private String activityLocation;
    
    /**
     * 举办人ID
     */
    private Integer organizerId;
    
    /**
     * 参加人ID数组
     */
    @TableField(typeHandler = ListStringTypeHandler.class)
    private List<String> participantIds;
    
    /**
     * 活动类型：0-学术讲座，1-文娱活动，2-体育活动，3-社团活动，4-志愿服务，5-其他
     */
    private Integer activityType;
    
    /**
     * 最大参与人数，0表示无限制
     */
    private Integer maxParticipants;
    
    /**
     * 当前参与人数
     */
    private Integer currentParticipants;
    
    /**
     * 活动状态：0-报名中，1-进行中，2-已结束，3-已取消
     */
    private Integer activityStatus;
    
    /**
     * 报名截止时间
     */
    private LocalDateTime registrationDeadline;
    
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    
    /**
     * 是否删除：0-未删除，1-已删除
     */
    @TableLogic
    private Integer isDelete;
} 